package com.nineshadow.games.interfaces;

import com.nineshadow.games.core.GameRoom;

/**
 * <p>
 * 游戏流程步骤
 * </p>
 *
 * @author ting liu
 * @since 2019/5/17 14:15
 */
public interface IStep {

    /**
     * 设置下一游戏运行步骤
     * 在执行start方法时必须调用此方法设置房间下一步骤
     */
    default void setNextStepClass(GameRoom room, Class<? extends IStep> nextStepClass) {
        room.setNextStepClass(nextStepClass);
    }

    /**
     * 步骤启动方法
     *
     * @param room
     * @return
     */
    void start(GameRoom room);
}
